import { writeFileSync, readFileSync } from 'fs';
import { existsSync } from 'fs';
import { join } from 'path';

class SerializationService {
  /**
   * 将对象保存为 JSON 文件
   * @param filePath 保存路径
   * @param data 要保存的数据对象
   */
  saveJSONToFile(filePath: string, data: object): void {
    const jsonString = JSON.stringify(data, null, 2);
    writeFileSync(filePath, jsonString, { encoding: 'utf-8' });
  }

  /**
   * 从 JSON 文件中读取数据
   * @param filePath 文件路径
   * @returns 读取的数据对象
   */
  loadJSONFromFile(filePath: string): object {
    const jsonString = readFileSync(filePath, { encoding: 'utf-8' });
    return JSON.parse(jsonString);
  }
}

export default new SerializationService();
